除了 DAO 以外,exposed 還提供了另一種存取資料庫的方式 DSL,類似我們常用的 Query Builder
下面我們就來介紹 exposed 的 DSL 怎麼使用
DSL 的連線方式,一樣需要一個 object
object Cities : Table() {
val id = integer("id").autoIncrement()
val name = varchar("name", 50)
}
有了這個 object
之後,我們就可以針對它進行資料庫操作了
我們用 insertAndGetId
來
val id = Cities.insertAndGetId {
it[name] = "Taipei"
}
我們可以用 selectAll()
存取所有的資料
for (city in Cities.selectAll()) {
println("${city[Cities.name]}")
}
也可以用 select{}
挑選我們想要的資料
StarWarsFilms.select { StarWarsFilms.sequelId eq 8 }
update
Cities.update({ Cities.name eq "Taipei"}) {
it[name] = "Tainan"
}
用 deleteWhere
來挑出要移除的資料
Cities.deleteWhere { Cities.name eq "Taipei" }